import java.util.Scanner;

public class Answer3 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt(), m = in.nextInt();
        int x = in.nextInt(), y = in.nextInt();

        int[][] dp = new int[n + 1][m + 1];
        dp[0][0] = 1;

        for (int i = 0; i <= n; i++) {
            for (int j = 0; j <= m; j++) {
                if (((Math.abs(i - x) + Math.abs(j - y)) == 3 && (i != x && j != y)) || (i == x && j == y)) {
                    dp[i][j] = 0;
                } else {
                    //下面的这里可能存在些许问题
                    if (i - 1 >= 0 && j - 1 >= 0) {
                        dp[i][j] = dp[i][j - 1] + dp[i - 1][j];
                    } else if (i - 1 >= 0) {
                        dp[i][j] = dp[i - 1][j];
                    } else if (j - 1 >= 0) {
                        dp[i][j] = dp[i][j - 1];
                    }
                }

            }
        }

        System.out.println(dp[n][m]);

    }



/*    //[NOIP2002 普及组] 过河卒
    //https://www.nowcoder.com/practice/8439d41faa254418a3146c8cc0a68d62?tpId=196&tqId=40500&ru=/exam/oj
    public static int crossRiver (int n, int m, int x, int y) {
        int[][] dp=new int[n+2][m+2];
        dp[0][1]=1;
        x+=1;
        y+=1;
        for(int i=1;i<=n+1;i++){
            for(int j=1;j<=m+1;j++){
                if((i== x && j == y) || (i!=x && j!=y && Math.abs(i-x)+ Math.abs(j-y) == 3)){
                    dp[i][j]=0;
                }else{
                    dp[i][j]=dp[i-1][j]+dp[i][j-1];
                }
            }
        }

        return dp[n+1][m+1];
    }

    public static void main(String[] args) {
        System.out.println(crossRiver(6, 6, 3, 3));
    }*/
}
